package com.cykj.pos.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.cykj.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;

/**
 * 分润记录对象 aiz_profit_sharing_record
 *
 * @author weijianbo
 * @date 2025-01-22
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName("aiz_profit_sharing_record")
public class AizProfitSharingRecord implements Serializable {

private static final long serialVersionUID=1L;


    /** $column.columnComment */
    @TableId(value = "id")
    private Long id;

    /** $column.columnComment */
    @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
    private Long merchId;

    /** 代理名称 */
    @Excel(name = "代理名称")
    private String merchName;

    /** $column.columnComment */
    @Excel(name = "代理名称")
    private Long userId;

    /** 交易金额 */
    @Excel(name = "交易金额")
    private BigDecimal amnount;

    /** 交易手续费 */
    @Excel(name = "交易手续费")
    private BigDecimal addiAmount;

    /** 手续费名称 */
    @Excel(name = "手续费名称")
    private String feeName;

    /** SN */
    @Excel(name = "SN")
    private String posSn;

    /** 系统商户号 */
    @Excel(name = "系统商户号")
    private String merchantNo;

    /** 分润金额 */
    @Excel(name = "分润金额")
    private BigDecimal shareAmount;

    /** 代理结算费率 */
    @Excel(name = "代理结算费率")
    private BigDecimal settlementRate;

    /** 创建时间 */
    private Date createTime;

    /** 交易时间 */
    @Excel(name = "交易时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date hostDate;

    /** 描述 */
    @Excel(name = "描述")
    private String remake;

    /** 渠道id */
    @Excel(name = "渠道id")
    private String channel;

    /** 品牌id */
    @Excel(name = "品牌id")
    private String manufacturerId;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    private String manufacturerName;

    /** 型号id */
    @Excel(name = "型号id")
    private String modelId;

    /** 型号名称 */
    @Excel(name = "型号名称")
    private String modelName;

    /** 关联交易uuid */
    @Excel(name = "关联交易uuid")
    private Long uuid;


    /** 扣款金额 */
    @Excel(name = "扣款金额")
    private BigDecimal deductionAmount;

    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();


    @TableField(exist = false)
    private Long deptId;
}
